package net.borlis.sample.service.db.update;

//import liquibase.integration.cdi.CDILiquibaseConfig;
//import liquibase.integration.cdi.annotations.LiquibaseType;
//import liquibase.resource.ClassLoaderResourceAccessor;
//import liquibase.resource.ResourceAccessor;

/**
* @author alex@borlis.net
*/
//@ApplicationScoped //todo:: restore liquibase!!!
public class DatabaseUpdater {

//    @Inject
//    private Logger logger;
//
//    @Inject @PropertiesData
//    private IDynamixConfiguration dynConfig;
//
//    @Inject
//    private ISchemaConfiguration schema;
//
//    @Produces
//    @LiquibaseType
//    public CDILiquibaseConfig createConfig() {
//        CDILiquibaseConfig config = new CDILiquibaseConfig();
//        config.setChangeLog("db/db.changelog.xml");
//        return config;
//    }
//
//    @Produces
//    @LiquibaseType
//    public DataSource createDataSource() throws SQLException {
//        DriverManagerDataSource dataSource = new DriverManagerDataSource();
//        dataSource.setDriverClass(dynConfig.getDriverName());
//        dataSource.setJdbcUrl(dynConfig.getJdbcUrlDraft() + schema.getSchemaConfiguration());
//        dataSource.setUser(dynConfig.getJdbcUser());
//        dataSource.setPassword(dynConfig.getJdbcPassword());
//        logger.info("configured datasource = " + dataSource);
//        return dataSource;
//    }
//
//    @Produces
//    @LiquibaseType
//    public ResourceAccessor create() {
//        return new ClassLoaderResourceAccessor(getClass().getClassLoader());
//    }
//
}
